package ve.com.fitsoft.eicb.encuesta.web.mb;

import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import javax.faces.event.ActionListener;

import org.icefaces.util.JavaScriptRunner;

import ve.com.fitsoft.eicb.encuesta.bo.PreguntaBO;
import ve.com.fitsoft.eicb.encuesta.dto.EncuestaDTO;
import ve.com.fitsoft.eicb.encuesta.dto.PreguntaDTO;
import ve.com.fitsoft.eicb.encuesta.services.EncuestaServices;

@ManagedBean
@ViewScoped
public class EncuestaAdminViewBean {
	private EncuestaDTO encuesta = new EncuestaDTO();
	
	@ManagedProperty(value = "#{encuestaService}")
	private EncuestaServices encuestaService;
	
	
	public EncuestaDTO getEncuesta() {
		return encuesta;
	}

	public void setEncuesta(EncuestaDTO encuesta) {
		this.encuesta = encuesta;
	}
	
	public List<PreguntaDTO> getPreguntas() {
		return encuesta.getPreguntas();
	}

	public void setPreguntas(List<PreguntaDTO> preguntas) {
		encuesta.setPreguntas(preguntas);
	}
	
	public PreguntaBO.Tipo[]  getTiposCampo(){
		return PreguntaBO.Tipo.values();
	}	

	public EncuestaServices getEncuestaService() {
		return encuestaService;
	}

	public void setEncuestaService(EncuestaServices encuestaService) {
		this.encuestaService = encuestaService;
	}
	
	// EVENTOS
	
	public void agregarEncuestaActionListener(ActionEvent event){
		JavaScriptRunner.runScript(FacesContext.getCurrentInstance(), "adminEncuestaDialog.show();");
	}

	public void agregarPreguntaActionListener(ActionEvent event){
		PreguntaDTO preguntaDto = new PreguntaDTO();
		encuesta.getPreguntas().add(preguntaDto);
	}
	
	public void save(ActionEvent event){
		encuestaService.saveEncuesta(encuesta);
	}


	
}
